home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / maximus / flst105p.zip / FASTLST.DOC < prev    next >
Text File  |  1992-04-28  |  22KB  |  722 lines

  1. ******************************************************************************
  2. *                                                                            *
  3. *                                                                            *
  4. *           *******   **     ****   ******  ****     ****   ******           *
  5. *            **   *  ****   **  **  * ** *   **     **  **  * ** *           *
  6. *            ** *   **  **  **        **     **     **        **             *
  7. *            ****   **  **   ****     **     **      ****     **             *
  8. *            ** *   ******      **    **     **   *     **    **             *
  9. *            **     **  **  **  **    **     **  ** **  **    **             *
  10. *           ****    **  **   ****    ****   *******  ****    ****            *
  11. *                                                                            *
  12. *                                                                            *
  13. *               A new flexible and powerful nodelist compiler                *
  14. *                                                                            *
  15. *                                                                            *
  16. ******************************************************************************
  17. *                                                                            *
  18. *                 (C)  Copyright 1992  by  Alberto Pasquale                  *
  19. *                                                                            *
  20. *                   A L L   R I G H T S   R E S E R V E D                    *
  21. *                                                                            *
  22. ******************************************************************************
  23. *                                                                            *
  24. *   FastLst is NOT free-software, it is distributed under the ShareWare      *
  25. *   concept !  If you regularly use it, you should register for US$25 or     *
  26. *   LIT30.000. The registration key removes the initial 10s pause.           *
  27. *   See REGISTER.FRM for more details on how to register your copy.          *
  28. *                                                                            *
  29. ******************************************************************************
  30. *                                                                            *
  31. *   How to contact the author:  Alberto Pasquale of 2:332/504@fidonet.org    *
  32. *                               Viale Verdi 106                              *
  33. *                               41100 Modena                                 *
  34. *                               Italy                                        *
  35. *                                                                            *
  36. ******************************************************************************
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                         FastLst ver 1.05 User Manual
  62.  
  63.  
  64.  
  65.                                  DISCLAIMER
  66.  
  67.          There is absolutely no warranty of any kind on this product.
  68.          The user of this program bears all risk as to its quality and
  69.          performance.
  70.  
  71.  
  72.                                    LICENSE
  73.  
  74.          FastLst
  75.          Copyright 1992 by Alberto Pasquale, Modena, Italy
  76.          All rights reserved. Commercial distribution and/or use
  77.          prohibited without written permission of the author.
  78.  
  79.          You may copy and distribute verbatim copies of the original
  80.          distribution archive of FastLst, providing you don't charge
  81.          any fee exceeding your actual costs.
  82.  
  83.          If you regularly use FastLst, you should register your copy
  84.          (See Register.FRM).
  85.  
  86.  
  87.          Files in the original archive:
  88.  
  89.          FastLst.Exe   The executable program (Dos Version Only)
  90.          FastLstP.Exe  The executable program (Os/2 Version Only)
  91.          FastLst.Cfg   The sample configuration file
  92.          FastLst.Doc   This documentation file
  93.          Readme.1st    Important notes
  94.          Readme.Os2    (OS/2 version Only): notes by Pasquale Cantiello
  95.          Whatsnew.Txt  Fixes and additions
  96.          Register.Frm  The Registration Form
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.                                      Pag.  1
  120.  
  121.          Main characteristics:
  122.  
  123.          - Compiles Version 6 and Version 7 format nodelists for use
  124.            with BinkleyTerm/Opus/Maximus.
  125.  
  126.          - Full 4D (point) support both in Version 6 and Version 7.
  127.  
  128.          - Integrated Merge-QuickSort routines to process Fidouser.Lst
  129.            and Version 7 indexes.
  130.  
  131.          - With the command line switches -n and -d can be used on
  132.            nodelist/nodediff files that have different names from the
  133.            default NODELIST.nnn/NODEDIFF.nnn, thus making easy the
  134.            compilation of non-FidoNet nodelists.
  135.  
  136.          - If more than one applicable nodediff file is present, all
  137.            of them are applied, in the correct order.
  138.  
  139.          - The -e command line switch allows to apply nodediffs without
  140.            compiling the nodelist (for those who compile a local
  141.            segment but like to keep the complete nodelist up to date).
  142.  
  143.          - MergeList option to substitute a nodelist segment with a
  144.            local up to date one.
  145.  
  146.          - Very flexible modem type and cost setting/overriding for
  147.            use with Binkley's ModemTrans and Events.
  148.  
  149.          - User Cost (Msg Fee) can be set different from Call Cost.
  150.  
  151.          - 380KB of free memory are required, but all the available
  152.            conventional memory is used to speed-up the merge-sort process.
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.                                      Pag.  2
  180.  
  181.                                   OPERATION
  182.  
  183.  
  184.          After start-up FastLst will search for applicable NodeDiff
  185.          files, then it will process any necessary Merging of the
  186.          source nodelist (MergeList option), in the end it will compile
  187.          the main nodelist, adding any necessary segment (PvtList and
  188.          MyList options).
  189.  
  190.          The source nodelist and nodediff must be in standard "St.
  191.          Louis" format, as described in FTS-0005. FastLst allows an
  192.          extension to the input nodelist format in order to support
  193.          true "4D" points.
  194.            Points are entered in the nodelist directly following their
  195.          bossnode.  Each one starts with the POINT keyword, followed
  196.          by the point number. Example:
  197.  
  198.          ...
  199.          ...
  200.          ,504,Videl_3,Modena_I,Alberto_Pasquale,...
  201.          Point,1,SysOp_Point,Modena_I,Alberto_Pasquale,...
  202.          Point,2,CoSysOp_Point,Modena_I,Roberto_Zanasi,...
  203.          Point,3,...
  204.  
  205.  
  206.  
  207.          The generated files are:
  208.  
  209.          Version6      NODELIST.DAT, NODELIST.IDX
  210.          Version7      NODEX.DAT, NODEX.NDX
  211.          FidoUserLst   FIDOUSER.LST
  212.          SysopNdx      SYSOP.NDX (with Version7 Only)
  213.          FidoTxt       NODELIST.TXT
  214.          FidoPrn       NODELIST.PRN
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.                                      Pag.  3
  240.  
  241.                              CONFIGURATION FILE
  242.  
  243.  
  244.          FastLst requires a configuration file (defaults to
  245.          FastLst.Cfg in the current directory). Before using FastLst
  246.          you should edit this file, following the comments in it.
  247.  
  248.          We will now describe some of the most complex statements.
  249.  
  250.          The names of the various parameters are NOT case sensitive.
  251.          Items in square brackets ([]) are optional.
  252.  
  253.  
  254.  
  255.          Country <country>
  256.  
  257.          Example:  Country 39-
  258.  
  259.          This is the string to be substituted with the Domestic
  260.          dialing prefix (see Dial statement): it must be your country's
  261.          international phone code. If the trailing '-' is omitted, it
  262.          will be present in the translated phone number after the
  263.          domestic prefix.
  264.          Nodes with a phone number that begins with this string
  265.          receive the default Domestic Cost (if no cost override is
  266.          present) (see Cost statement).
  267.  
  268.          
  269.  
  270.          MaxBaud <baud>
  271.  
  272.          Example:  MaxBaud 2400
  273.                   
  274.          Baud rates in the nodelist that are higher than this value
  275.          are changed to it in output Nodelist.DAT/Nodex.DAT files.
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.                                      Pag.  4
  300.  
  301.          MergeList <[path]filename[.ext]>
  302.  
  303.            If an extension is not present, the latest filename.nnn is
  304.          used, considering nnn as a 3 digit day of the year.
  305.            The specified nodelist segment is merged with the main one,
  306.          then the result is compiled.
  307.            This option is intended to merge YOUR zone, region, net or
  308.          hub nodelists to the world, zone or region nodelist.
  309.            This means that if you use the world nodelist and merge
  310.          your Region nodelist, the portion of world nodelist
  311.          corresponding to your region will be REPLACED by your
  312.          Region; then the resulting nodelist will be compiled.
  313.            This way you can use the world nodelist while having
  314.          your region segment always up to date.
  315.  
  316.            ATTENTION: using the MergeList option is very different
  317.          from including your segment of nodelist with "mylist",
  318.          because mylist "appends" to your zone the specified
  319.          file, so that you have the new nodes that were not
  320.          present in the main nodelist, but you DON'T have the
  321.          modified entries updated (mylist does NOT substitute or
  322.          overlay the dupes, it only appends the fragment to your
  323.          zone).
  324.            Using Version 6 format, the changed entries in segments
  325.          appended by MyList will not be active.
  326.            Instead with Version 7 the appended segment entries are
  327.          put in the indexes in the place of their counterpart in
  328.          the previously compiled nodelist.
  329.  
  330.            If you specify more than one MergeList files, each file
  331.          is merged with the preceding one: let's suppose you have
  332.  
  333.           MergeList Zone.002
  334.           MergeList Region.033
  335.           Mergelist Net.332
  336.           Mergelist Hub.500
  337.  
  338.          Hub.500 and Net.332 are merged into net.999, then net.999
  339.          is merged with Region.033 into region.999, then
  340.          region.999 is merged with Zone.002 into zone.999, in the
  341.          end zone.999 is merged with nodelist.ddd into
  342.          nodelist.999.
  343.           All .999 files except for the last are automatically
  344.          erased after use. The last .999 file (usually
  345.          nodelist.999) is compiled and NOT deleted.
  346.  
  347.            I am HC, so I use:
  348.  
  349.           MergeList Region.033
  350.           MergeList Hub.500
  351.  
  352.          WARNING: The MergeList option ONLY works with YOUR
  353.          segments of nodelist. If you merge a Hub segment, it
  354.          is searched for in YOUR zone and net. If you have
  355.          configured FastLst for a point system using your
  356.          fakenet in the "Address" verb, then you CANNOT merge your
  357.          hub segment, since the fakenet seems to be your net.
  358.  
  359.                                      Pag.  5
  360.  
  361.            However you can use your 4D address in the "Address"
  362.          verb of the configuration file, so that you have no
  363.          problems in merging your hub segment, if you wish to do
  364.          that.
  365.  
  366.          MyList <[path]filename[.ext]>
  367.  
  368.          To add a local nodelist segment to the compilation. It is
  369.          added after your Zone segment.
  370.          If an extension is not present, the latest filename.nnn is
  371.          used, considering nnn as a 3 digit day of the year.
  372.  
  373.  
  374.  
  375.          PvtList <[path]filename[.ext]>
  376.  
  377.          As MyList, but there is no output to nodelist.txt/prn.
  378.  
  379.  
  380.  
  381.          Include <[path]filename.ext>
  382.  
  383.          In your configuration file you can include other
  384.          configuration files: as an example you can put all of your
  385.          Password statements in a separate file and include it.
  386.          The inclusion process can be nested, so that you can use the
  387.          "Include" statement in included files too.
  388.  
  389.  
  390.  
  391.          TypeDef <flag> <type>
  392.  
  393.          Case not significant in <flag>.
  394.  
  395.          Examples:
  396.  
  397.          TypeDef HST  1  ; set bit 0 of type if HST flag present
  398.          TypeDef PEP  2  ; set bit 1 of type if PEP flag present
  399.          TypeDef V32  4  ; set bit 2 of type if V32 flag present
  400.          TypeDef V32B 8  ; set bit 3 of type if V32B flag present
  401.  
  402.          A V32B entry will have both bit 3 and 2 set since it
  403.          contains V32B as well as V32 as substrings in the FLAG
  404.          portion of the entry.
  405.  
  406.          If you use BinkleyTerm with a HST+V32 modem you will use:
  407.  
  408.          ModemTrans 1 <HSTdialstring>
  409.          ModemTrans 4 <V32dialstring>
  410.  
  411.          Since Binkley uses the first modemtrans that has at
  412.          least one bit in common with the modem type, it will
  413.          use ModemTrans 1 for HST and HST+V32(B) modems (types 1
  414.          and 1+4=5 (1+4+8=13)) and ModemTrans 2 for V32, V32B
  415.          and V32+PEP.
  416.  
  417.  
  418.  
  419.                                      Pag.  6
  420.  
  421.          If you have a USR HST+V32B you will use:
  422.  
  423.          ModemTrans 8 <V32Bdialstring>
  424.          ModemTrans 1 <HSTdialstring>
  425.          ModemTrans 4 <V32dialstring>
  426.  
  427.          This way you will call in V32B the entries that have
  428.          the V32B flag, in HST those ones that don't have the
  429.          V32B but have the HST, in V32 those ones that have
  430.          neither the V32B nor the HST but do have the V32.
  431.  
  432.  
  433.  
  434.          TypeCost <type> <cost>
  435.  
  436.          Examples:
  437.  
  438.          If you have two lines, one with PEP and one with HST
  439.          DUAL STANDARD (HST+V32), then you could organize your
  440.          system so that the PEP will call only PEP nodes and the
  441.          HST/DS will call all nodes that cannot be connected in PEP.
  442.          The Cost parameter could help you.
  443.          Let's suppose you have defined:
  444.  
  445.          TypeDef HST   1
  446.          TypeDef PEP   2
  447.          TypeDef V32   4
  448.  
  449.          You should then use:
  450.  
  451.          TypeCost 1 100   ; cost 100 for HST
  452.          TypeCost 2  50   ; cost  50 for PEP
  453.          TypeCost 4 100   ; cost 100 for V32
  454.          TypeCost 5 100   ; cost 100 for HST+V32
  455.          TypeCost 6  50   ; cost 100 for PEP+V32
  456.  
  457.          Of course any V32B flag would be processed as a V32 one.
  458.          
  459.          If you configure your events so that the PEP line calls nodes
  460.          with a cost <= 50 and the HST/V32 line calls nodes with a
  461.          cost > 50 you have done it !
  462.  
  463.  
  464.  
  465.          Dial [<domestic>][<international>]
  466.          
  467.          Example:  Dial 0   00
  468.                         39-59-58    /-010     ; Special Case
  469.                         39-59-                ; Local Dialing Area
  470.                    End
  471.  
  472.          The 'Dial' statement begins a dial table, which is ended by an 
  473.          'End' statement.  
  474.          
  475.          It can take two arguments that specify the default prefix/suffix
  476.          to be prepended/appended to domestic and international phone
  477.          numbers (after removing the "Country" string from the
  478.          domestic numbers).
  479.                                      Pag.  7
  480.  
  481.          Subsequent entries after the 'Dial' statement are used to
  482.          specify the prefix/suffix to be prepended/appended to telephone
  483.          numbers that begin with the string on the left (that is
  484.          removed).
  485.  
  486.          The first matching entry is used; if no entry apply, the
  487.          defaults are used.
  488.  
  489.          All the prefix/suffix specifications take the form:
  490.          
  491.               [<prefix>][/[<suffix>]]
  492.          
  493.          So that you can use:
  494.  
  495.          <search_string>        ; to remove <search_string> from the
  496.                                 ; beginning of the number.
  497.          <search_string>  /     ; Same as above.
  498.  
  499.          <search_string> <prefix> ; to replace <search_string> with
  500.                                   ; <prefix>
  501.  
  502.          <search_string> <prefix>/ ; Same as above.
  503.  
  504.  
  505.          <search_string> /<suffix> ; to remove <search_string> and
  506.                                    ; append <suffix>
  507.  
  508.          <search_string> <prefix>/<suffix> ; to replace
  509.                                            ; <search_string> with <prefix> and
  510.                                            ; append <suffix>
  511.  
  512.  
  513.          Also the two arguments of the heading Dial statement take the
  514.          described forms, but if you want to specify an international
  515.          prefix/suffix while leaving empty the domestic one, then you
  516.          MUST use a slash '/' as the domestic argument.
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.                                      Pag.  8
  540.  
  541.                              COMMAND LINE PARAMETERS
  542.  
  543.  
  544.          -h or -?  for help
  545.  
  546.          -n<nodelist>
  547.               Compile <nodelist>.nnn instead of NODELIST.nnn
  548.  
  549.          -d<nodediff>
  550.               Apply <nodediff>.nnn instead of NODEDIFF.nnn
  551.  
  552.          -c<config>
  553.               Use <config> configuration file instead of FASTLST.CFG
  554.  
  555.          -l<logname>
  556.               Log activity to <logname> file
  557.  
  558.          -g<mergelist>
  559.               Merge main nodelist with <mergelist>
  560.  
  561.          -m<mylist>
  562.               Use <mylist> as an additional nodelist. If the main
  563.               nodelist is the complete one, <mylist> is compiled just
  564.               after your zone segment.
  565.  
  566.          -p<pvtlist>
  567.               Use <pvtlist> as an additional private nodelist.
  568.               This works the same as -m<mylist>, but there is no
  569.               output to nodelist.txt/prn.
  570.  
  571.          -b<baud>
  572.               Use <baud> in place of the one set in the config file.
  573.  
  574.          -e
  575.               Apply nodediffs only (don't compile nodelist)
  576.  
  577.  
  578.  
  579.                                    ERRORLEVELS
  580.  
  581.          0    Normal termination
  582.          1    Help requested
  583.          2    Open error
  584.          3    Can't find nodelist file
  585.          4    Disk Full
  586.          5    Can't find config file
  587.          6    Configuration error
  588.          7    Out of memory
  589.          8    Merge error
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.                                      Pag.  9
  600.  
  601.                                 MISCELLANEOUS INFO
  602.  
  603.  
  604.          In the case of SysOps of more than one system, the one to be
  605.          put in the SysOp Name List (Fidouser.lst and Sysop.ndx) is
  606.          chosen by using the following priority sequence (from highest
  607.          priority to lowest):
  608.          - Found in the latest included nodelist segment (w my/pvtList)
  609.          - Not redirected (fully active)
  610.          - High Speed Modem
  611.          - In your zone
  612.          - Crash Mail capable
  613.          - Not a coordinator
  614.          - NET number between 100 and 9999
  615.          - Not Mail Only
  616.  
  617.  
  618.          Redirected systems (Unpublished phone number, on HOLD) are
  619.          given the phone number, baud rate, modem type, call cost and
  620.          flags of the node they are redirected to, the Board name is
  621.          prepended with '-R-'.
  622.            A node is redirected to its coordinator, a point is
  623.          redirected to its boss (or to its boss' coordinator if the
  624.          boss is redirected).
  625.            If you have a session password with the system to be redirected
  626.          or with the system it should be redirected to, no redirection
  627.          is done in order to prevent password-mismatch errors in the
  628.          case the Unpublished/Hold System calls you.
  629.            These non-redirected systems take an EMPTY phone number string,
  630.          so that your mailer does not send unwanted strings to your modem
  631.          attempting to call these systems, should something appear in your
  632.          outbound addressed to them.
  633.            Pay attention: if you want to directly call these
  634.          null_phone-systems or their coordinators, you have to give
  635.          them a phone number using the "Phone <address> <number>"
  636.          statement in the configuration file.
  637.  
  638.  
  639.          The cost for a system is determined in the following way:
  640.          - The phone number determines the default to be used
  641.            (domestic or international).
  642.          - The entries in the "cost/end" statement can modify defaults
  643.            if a match is found with the phone number.
  644.          - The TypeCost statement can override the Cost in relation
  645.            to modem type.
  646.          - The "Cost <address>" statement can override the cost
  647.            established by the preceding statements.
  648.          In the case of Phone and Type overrides, the number and modem
  649.          type used for cost determination are the new ones.
  650.  
  651.  
  652.          The Modem Type for a system is determined in the following
  653.          way:
  654.          - Nodelist flags (in relation to "TypeDef" statements).
  655.          - Type Mask (optionally set by the "Cost/End" statement if
  656.            a phone number match occurs).
  657.          - "Type <address>" statement.
  658.  
  659.                                      Pag. 10
  660.  
  661.          The message fee (user cost) is especially useful when set to
  662.          0, so that you do not have to manually give credits to all of
  663.          your users.
  664.          If you use the following UCost table, then all nodelist
  665.          entries will have User_Cost = 0, thus allowing BBS users to
  666.          enter netmail messages even if they have no credits:
  667.  
  668.          ucost 0 0
  669.          end
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.                                      Pag. 11
  720.  
  721.  
  722.